﻿using System;

namespace Program13
{
    class Program
    {
        /*
        const是静态常量，所以在编译的时候就将A与B的值确定下来了
        static readonly是动态常量，常量的值在编译期间不解析，所以开始都是默认值，X与Y都是int类型，故都是0。
        而在程序执行到X=Y*10;所以X=0*10=0,程序接着执行到Y=10这句时候，才会真正的Y的初值10赋给Y。
            */
        static readonly int X = Y * 10;
        static readonly int Y = 15;
        static void Main(string[] args)
        {
            ////变量
            //var number = 20;
            //number = 26;
            //Console.WriteLine("输出变量number"+number);
            ////常量在程序运行中不能改变的
            //const int number1= 30;

            //Console.WriteLine("输出常量number1" +number1);
            ////number1=30; 常量不能进行赋值
         
            const int B = 20;
            const int A = B * 5;
            Console.WriteLine("A的值是{0},B的值是{1}",B,A);
            Console.WriteLine("X的值是{0},Y的值是{1}", X, Y);
        }
    
       
    }
}
